// 1. 枚举的基本使用
/*
 1) 如果没有赋值, 第一个常量是0, 后边以此叠加
 2) 如果第一项赋值了, 在第一项的基础上往后叠加
 3) 枚举中常量的值可以不是数字, 如果第一项赋值不是数字, 后边的每一项都要赋值
*/
// export enum Direction {
//   Top,
//   Bottom,
//   Left,
//   Right
// }

// const changeDirection = (direction: Direction) => {
//   if (direction === Direction.Top) {
//     console.log('上')
//   }
//   if (direction === Direction.Bottom) {
//     console.log('下')
//   }
//   if (direction === Direction.Left) {
//     console.log('左')
//   }
//   if (direction === Direction.Right) {
//     console.log('右')
//   }
// }

// changeDirection(Direction.Top)

// 2. 枚举的使用场景
// 后台给的数据： 0 是男 1是女
export enum Gender {
  boy,
  girl
}

function changeGender(gender: Gender) {
  if (gender === Gender.boy) {
    console.log('男孩')
  }
  if (gender === Gender.girl) {
    console.log('女孩')
  }
}

changeGender(Gender.boy)

// 后台给的数据： 1 是待付款 5 是已付款 8 是已完成
export enum OrderStatus {
  Unpay = 1,
  Payed = 5,
  Complete = 8
}

function getOrderStatus(status: OrderStatus) {
  if (status === OrderStatus.Unpay) {
    console.log('订单状态: 待付款')
  }
  if (status === OrderStatus.Payed) {
    console.log('订单状态: 已付款')
  }
  if (status === OrderStatus.Complete) {
    console.log('订单状态: 已完成')
  }
}

getOrderStatus(OrderStatus.Complete)
